package com.ym.b2b.order.dao;

import org.springframework.dao.DataAccessException;

import com.ym.b2b.order.sqlbean.EmSOrder;
import com.zc.commons.base.Page;

public interface EmSOrderDao {

    public Page<EmSOrder> searchPageOrders(EmSOrder emSOrder, Page<EmSOrder> page) throws DataAccessException;

    public Long searchOrdersNum(EmSOrder emSOrder) throws DataAccessException;

    /**
     * @Title: getEmSOrderId
     * @Description: 获取 emsorder 序列
     */
    public Long getEmSOrderId() throws DataAccessException;

    /**
     * @Title: saveOrderUpdateEmSOrder
     * @Description: 更新或新增订单
     */
    public void saveOrderUpdateEmSOrder(EmSOrder emSOrder) throws DataAccessException;

    /**
     * @Title: insertEmSOrder
     * @Description: 插入订单
     */
    public void insertEmSOrder(EmSOrder emSOrder) throws DataAccessException;

    /**
     * @Title: updateEmSOrder
     * @Description: 修改订单详情
     */
    public void updateEmSOrder(EmSOrder emSOrder) throws DataAccessException;

    /**
     * @Title: deleteEmSOrder
     * @Description: 删除订单
     */
    public void deleteEmSOrder(EmSOrder emSOrder) throws DataAccessException;

    /**
     * @Title:
     * @Description: 获取订单详情
     */
    public EmSOrder searchOrderDetail(EmSOrder emSOrder) throws DataAccessException;

    /**
     * @Title: updateEmSOrderForConfirm
     * @Description: 确认收货
     */
    public void updateEmSOrderForConfirm(EmSOrder emSOrder) throws DataAccessException;

    /**
     * @Title: updateEmSOrderDelivery
     * @Description: 确认发货
     */
    public void updateEmSOrderDelivery(EmSOrder emSOrder) throws DataAccessException;
    
    /**
    * @Title: getOrderInfo 
    * @Description: 根据订单code查询订单信息
     */
    public EmSOrder getOrderInfo(EmSOrder emSOrder) throws DataAccessException;

}
